The format string consists of zero or more conversion specifiers, whitespace characters, and ordinary characters (except %). Each ordinary character is expected to match one character in the input stream in case-insensitive comparison. Each whitespace character matches arbitrary whitespace in the input string. Each conversion specification begins with % character, optionally followed by E or O modifier (ignored if unsupported by the locale), followed by the character that determines the behavior of the specifier. The format specifiers match the POSIX function strptime():
Conversion specifier
| Explanation
| Writes to fields
|
| %
| matches a literal %. The full conversion specification must be %%.
| (none)
|
| t
| matches any whitespace.
| (none)
|
| n
| matches any whitespace.
| (none)
|
| Year
|
| Y
| parses full year as a 4 digit decimal number, leading zeroes permitted but not required
| tm_year
|
| EY
| parses year in the alternative representation, e.g.平成23年 (year Heisei 23) which writes 2011 to tm_year in ja_JP locale
| tm_year
|
| y
| parses last 2 digits of year as a decimal number. Range [69,99] results in values 1969 to 1999, range [00,68] results in 2000-2068
| tm_year
|
| Oy
| parses last 2 digits of year using the alternative numeric system, e.g. 十一 is parsed as 11 in ja_JP locale
| tm_year
|
| Ey
| parses year as offset from locale's alternative calendar period %EC
| tm_year
|
| C
| parses the first 2 digits of year as a decimal number (range [00,99])
| tm_year
|
| EC
| parses the name of the base year (period) in the locale's alternative representation, e.g. 平成 (Heisei era) in ja_JP
| tm_year
|
| Month
|
| b
| parses the month name, either full or abbreviated, e.g. Oct
| tm_mon
|
| h
| synonym of b
| tm_mon
|
| B
| synonym of b
| tm_mon
|
| m
| parses the month as a decimal number (range [01,12]), leading zeroes permitted but not required
| tm_mon
|
| Om
| parses the month using the alternative numeric system, e.g. 十二 parses as 12 in ja_JP locale
| tm_mon
|
| Week
|
| U
| parses the week of the year as a decimal number (Sunday is the first day of the week) (range [00,53]), leading zeroes permitted but not required
| tm_year, tm_wday, tm_yday
|
| OU
| parses the week of the year, as by %U, using the alternative numeric system, e.g. 五十二 parses as 52 in ja_JP locale
| tm_year, tm_wday, tm_yday
|
| W
| parses the week of the year as a decimal number (Monday is the first day of the week) (range [00,53]), leading zeroes permitted but not required
| tm_year, tm_wday, tm_yday
|
| OW
| parses the week of the year, as by %W, using the alternative numeric system, e.g. 五十二 parses as 52 in ja_JP locale
| tm_year, tm_wday, tm_yday
|
| Day of the year/month
|
| j
| parses day of the year as a decimal number (range [001,366]), leading zeroes permitted but not required
| tm_yday
|
| d
| parses the day of the month as a decimal number (range [01,31]), leading zeroes permitted but not required
| tm_mday
|
| Od
| parses the day of the month using the alternative numeric system, e.g 二十七 parses as 23 in ja_JP locale, leading zeroes permitted but not required
| tm_mday
|
| e
| synonym of d
| tm_mday
|
| Oe
| synonym of Od
| tm_mday
|
| Day of the week
|
| a
| parses the name of the day of the week, either full or abbreviated, e.g. Fri
| tm_wday
|
| A
| synonym of a
| tm_wday
|
| w
| parses weekday as a decimal number, where Sunday is 0 (range [0-6])
| tm_wday
|
| Ow
| parses weekday as a decimal number, where Sunday is 0, using the alternative numeric system, e.g. 二 parses as 2 in ja_JP locale
| tm_wday
|
| Hour, minute, second
|
| H
| parses the hour as a decimal number, 24 hour clock (range [00-23]), leading zeroes permitted but not required
| tm_hour
|
| OH
| parses hour from 24-hour clock using the alternative numeric system, e.g. 十八 parses as 18 in ja_JP locale
| tm_hour
|
| I
| parses hour as a decimal number, 12 hour clock (range [01,12]), leading zeroes permitted but not required
| tm_hour
|
| OI
| parses hour from 12-hour clock using the alternative numeric system, e.g. 六 reads as 06 in ja_JP locale
| tm_hour
|
| M
| parses minute as a decimal number (range [00,59]), leading zeroes permitted but not required
| tm_min
|
| OM
| parses minute using the alternative numeric system, e.g. 二十五 parses as 25 in ja_JP locale
| tm_min
|
| S
| parses second as a decimal number (range [00,60]), leading zeroes permitted but not required
| tm_sec
|
| OS
| parses second using the alternative numeric system, e.g. 二十四 parses as 24 in ja_JP locale
| tm_sec
|
| Other
|
| c
| parses the locale's standard date and time string format, e.g. Sun Oct 17 04:41:13 2010 (locale dependent)
| all
|
| Ec
| parses the locale's alternative date and time string format, e.g. expecting 平成23年 (year Heisei 23) instead of 2011年 (year 2011) in ja_JP locale
| all
|
| x
| parses the locale's standard date representation
| all
|
| Ex
| parses the locale's alternative date representation, e.g. expecting 平成23年 (year Heisei 23) instead of 2011年 (year 2011) in ja_JP locale
| all
|
| X
| parses the locale's standard time representation
| all
|
| EX
| parses the locale's alternative time representation
| all
|
| D
| equivalent to "%m / %d / %y "
| tm_mon, tm_mday, tm_year
|
| r
| parses locale's standard 12-hour clock time (in POSIX, "%I : %M : %S %p")
| tm_hour, tm_min, tm_sec
|
| R
| equivalent to "%H : %M"
| tm_hour, tm_min
|
| T
| equivalent to "%H : %M : %S"
| tm_hour, tm_min, tm_sec
|
| p
| parses the locale's equivalent of a.m. or p.m.
| tm_hour
|